package com.huike.review.mapper;

import com.huike.review.pojo.Review;
import com.huike.review.vo.MybatisReviewVO;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * Mybatis复习的Mapper层
 */
@Repository
public interface MybatisReviewMapper {


    /**======================================================新增======================================================**/
    @Insert("insert into mybatis_review(name,age,sex) VALUES(#{name},#{age},#{sex})")
    public abstract int insert(@Param("name") String name,@Param("age") Integer age,@Param("sex") String sex);

    @Insert("insert into mybatis_review(name,age,sex) VALUES(#{data.name},#{data.age},#{data.sex})")
    public abstract int insert2(@Param("data") Review data);

    /**======================================================修改======================================================**/
    @Update("update mybatis_review set name = #{review.name},age = #{review.age},sex = #{review.sex} where id = #{review.id}")
    public abstract int update(@Param("review") Review review);

    /**======================================================删除======================================================**/
    @Delete("delete from mybatis_review where id = #{id}")
    public abstract Integer delete(@Param("id") Long id);

    /**======================================================简单查询===================================================**/
    @Select("SELECT id,name,age,sex,create_by,create_time,update_user as update_by,update_time from mybatis_review where id = #{id}")
    public abstract Review selectById(@Param("id") Long id);


    @Select("SELECT id,name,age,sex,create_by,create_time,update_user as update_by,update_time from mybatis_review")
    public abstract List<Review> selectAll();
}
